↳ PROLOG
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
t1: (b)
ll2: (b,f) (f,b)
select3: (f,b,f)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
t_1_in_g1(N) -> if_t_1_in_1_g2(N, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ga4(N, X, Xs, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(0_0, []_0) -> ll_2_out_ga2(0_0, []_0)
if_ll_2_in_1_ga4(N, X, Xs, ll_2_out_ga2(N, Xs)) -> ll_2_out_ga2(s_11(N), ._22(X, Xs))
if_t_1_in_1_g2(N, ll_2_out_ga2(N, Xs)) -> if_t_1_in_2_g3(N, Xs, select_3_in_aga3(underscore, Xs, Xs1))
select_3_in_aga3(X, ._22(Y, Xs), ._22(Y, Ys)) -> if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_in_aga3(X, Xs, Ys))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_out_aga3(X, Xs, Ys)) -> select_3_out_aga3(X, ._22(Y, Xs), ._22(Y, Ys))
if_t_1_in_2_g3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> if_t_1_in_3_g3(N, Xs1, ll_2_in_ag2(M, Xs1))
ll_2_in_ag2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ag4(N, X, Xs, ll_2_in_ag2(N, Xs))
ll_2_in_ag2(0_0, []_0) -> ll_2_out_ag2(0_0, []_0)
if_ll_2_in_1_ag4(N, X, Xs, ll_2_out_ag2(N, Xs)) -> ll_2_out_ag2(s_11(N), ._22(X, Xs))
if_t_1_in_3_g3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> if_t_1_in_4_g3(N, M, t_1_in_g1(M))
t_1_in_g1(0_0) -> t_1_out_g1(0_0)
if_t_1_in_4_g3(N, M, t_1_out_g1(M)) -> t_1_out_g1(N)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
t_1_in_g1(N) -> if_t_1_in_1_g2(N, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ga4(N, X, Xs, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(0_0, []_0) -> ll_2_out_ga2(0_0, []_0)
if_ll_2_in_1_ga4(N, X, Xs, ll_2_out_ga2(N, Xs)) -> ll_2_out_ga2(s_11(N), ._22(X, Xs))
if_t_1_in_1_g2(N, ll_2_out_ga2(N, Xs)) -> if_t_1_in_2_g3(N, Xs, select_3_in_aga3(underscore, Xs, Xs1))
select_3_in_aga3(X, ._22(Y, Xs), ._22(Y, Ys)) -> if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_in_aga3(X, Xs, Ys))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_out_aga3(X, Xs, Ys)) -> select_3_out_aga3(X, ._22(Y, Xs), ._22(Y, Ys))
if_t_1_in_2_g3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> if_t_1_in_3_g3(N, Xs1, ll_2_in_ag2(M, Xs1))
ll_2_in_ag2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ag4(N, X, Xs, ll_2_in_ag2(N, Xs))
ll_2_in_ag2(0_0, []_0) -> ll_2_out_ag2(0_0, []_0)
if_ll_2_in_1_ag4(N, X, Xs, ll_2_out_ag2(N, Xs)) -> ll_2_out_ag2(s_11(N), ._22(X, Xs))
if_t_1_in_3_g3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> if_t_1_in_4_g3(N, M, t_1_in_g1(M))
t_1_in_g1(0_0) -> t_1_out_g1(0_0)
if_t_1_in_4_g3(N, M, t_1_out_g1(M)) -> t_1_out_g1(N)
T_1_IN_G1(N) -> IF_T_1_IN_1_G2(N, ll_2_in_ga2(N, Xs))
T_1_IN_G1(N) -> LL_2_IN_GA2(N, Xs)
LL_2_IN_GA2(s_11(N), ._22(X, Xs)) -> IF_LL_2_IN_1_GA4(N, X, Xs, ll_2_in_ga2(N, Xs))
LL_2_IN_GA2(s_11(N), ._22(X, Xs)) -> LL_2_IN_GA2(N, Xs)
IF_T_1_IN_1_G2(N, ll_2_out_ga2(N, Xs)) -> IF_T_1_IN_2_G3(N, Xs, select_3_in_aga3(underscore, Xs, Xs1))
IF_T_1_IN_1_G2(N, ll_2_out_ga2(N, Xs)) -> SELECT_3_IN_AGA3(underscore, Xs, Xs1)
SELECT_3_IN_AGA3(X, ._22(Y, Xs), ._22(Y, Ys)) -> IF_SELECT_3_IN_1_AGA5(X, Y, Xs, Ys, select_3_in_aga3(X, Xs, Ys))
SELECT_3_IN_AGA3(X, ._22(Y, Xs), ._22(Y, Ys)) -> SELECT_3_IN_AGA3(X, Xs, Ys)
IF_T_1_IN_2_G3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> IF_T_1_IN_3_G3(N, Xs1, ll_2_in_ag2(M, Xs1))
IF_T_1_IN_2_G3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> LL_2_IN_AG2(M, Xs1)
LL_2_IN_AG2(s_11(N), ._22(X, Xs)) -> IF_LL_2_IN_1_AG4(N, X, Xs, ll_2_in_ag2(N, Xs))
LL_2_IN_AG2(s_11(N), ._22(X, Xs)) -> LL_2_IN_AG2(N, Xs)
IF_T_1_IN_3_G3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> IF_T_1_IN_4_G3(N, M, t_1_in_g1(M))
IF_T_1_IN_3_G3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> T_1_IN_G1(M)
t_1_in_g1(N) -> if_t_1_in_1_g2(N, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ga4(N, X, Xs, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(0_0, []_0) -> ll_2_out_ga2(0_0, []_0)
if_ll_2_in_1_ga4(N, X, Xs, ll_2_out_ga2(N, Xs)) -> ll_2_out_ga2(s_11(N), ._22(X, Xs))
if_t_1_in_1_g2(N, ll_2_out_ga2(N, Xs)) -> if_t_1_in_2_g3(N, Xs, select_3_in_aga3(underscore, Xs, Xs1))
select_3_in_aga3(X, ._22(Y, Xs), ._22(Y, Ys)) -> if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_in_aga3(X, Xs, Ys))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_out_aga3(X, Xs, Ys)) -> select_3_out_aga3(X, ._22(Y, Xs), ._22(Y, Ys))
if_t_1_in_2_g3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> if_t_1_in_3_g3(N, Xs1, ll_2_in_ag2(M, Xs1))
ll_2_in_ag2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ag4(N, X, Xs, ll_2_in_ag2(N, Xs))
ll_2_in_ag2(0_0, []_0) -> ll_2_out_ag2(0_0, []_0)
if_ll_2_in_1_ag4(N, X, Xs, ll_2_out_ag2(N, Xs)) -> ll_2_out_ag2(s_11(N), ._22(X, Xs))
if_t_1_in_3_g3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> if_t_1_in_4_g3(N, M, t_1_in_g1(M))
t_1_in_g1(0_0) -> t_1_out_g1(0_0)
if_t_1_in_4_g3(N, M, t_1_out_g1(M)) -> t_1_out_g1(N)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
T_1_IN_G1(N) -> IF_T_1_IN_1_G2(N, ll_2_in_ga2(N, Xs))
T_1_IN_G1(N) -> LL_2_IN_GA2(N, Xs)
LL_2_IN_GA2(s_11(N), ._22(X, Xs)) -> IF_LL_2_IN_1_GA4(N, X, Xs, ll_2_in_ga2(N, Xs))
LL_2_IN_GA2(s_11(N), ._22(X, Xs)) -> LL_2_IN_GA2(N, Xs)
IF_T_1_IN_1_G2(N, ll_2_out_ga2(N, Xs)) -> IF_T_1_IN_2_G3(N, Xs, select_3_in_aga3(underscore, Xs, Xs1))
IF_T_1_IN_1_G2(N, ll_2_out_ga2(N, Xs)) -> SELECT_3_IN_AGA3(underscore, Xs, Xs1)
SELECT_3_IN_AGA3(X, ._22(Y, Xs), ._22(Y, Ys)) -> IF_SELECT_3_IN_1_AGA5(X, Y, Xs, Ys, select_3_in_aga3(X, Xs, Ys))
SELECT_3_IN_AGA3(X, ._22(Y, Xs), ._22(Y, Ys)) -> SELECT_3_IN_AGA3(X, Xs, Ys)
IF_T_1_IN_2_G3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> IF_T_1_IN_3_G3(N, Xs1, ll_2_in_ag2(M, Xs1))
IF_T_1_IN_2_G3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> LL_2_IN_AG2(M, Xs1)
LL_2_IN_AG2(s_11(N), ._22(X, Xs)) -> IF_LL_2_IN_1_AG4(N, X, Xs, ll_2_in_ag2(N, Xs))
LL_2_IN_AG2(s_11(N), ._22(X, Xs)) -> LL_2_IN_AG2(N, Xs)
IF_T_1_IN_3_G3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> IF_T_1_IN_4_G3(N, M, t_1_in_g1(M))
IF_T_1_IN_3_G3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> T_1_IN_G1(M)
t_1_in_g1(N) -> if_t_1_in_1_g2(N, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ga4(N, X, Xs, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(0_0, []_0) -> ll_2_out_ga2(0_0, []_0)
if_ll_2_in_1_ga4(N, X, Xs, ll_2_out_ga2(N, Xs)) -> ll_2_out_ga2(s_11(N), ._22(X, Xs))
if_t_1_in_1_g2(N, ll_2_out_ga2(N, Xs)) -> if_t_1_in_2_g3(N, Xs, select_3_in_aga3(underscore, Xs, Xs1))
select_3_in_aga3(X, ._22(Y, Xs), ._22(Y, Ys)) -> if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_in_aga3(X, Xs, Ys))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_out_aga3(X, Xs, Ys)) -> select_3_out_aga3(X, ._22(Y, Xs), ._22(Y, Ys))
if_t_1_in_2_g3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> if_t_1_in_3_g3(N, Xs1, ll_2_in_ag2(M, Xs1))
ll_2_in_ag2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ag4(N, X, Xs, ll_2_in_ag2(N, Xs))
ll_2_in_ag2(0_0, []_0) -> ll_2_out_ag2(0_0, []_0)
if_ll_2_in_1_ag4(N, X, Xs, ll_2_out_ag2(N, Xs)) -> ll_2_out_ag2(s_11(N), ._22(X, Xs))
if_t_1_in_3_g3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> if_t_1_in_4_g3(N, M, t_1_in_g1(M))
t_1_in_g1(0_0) -> t_1_out_g1(0_0)
if_t_1_in_4_g3(N, M, t_1_out_g1(M)) -> t_1_out_g1(N)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
↳ PiDP
LL_2_IN_AG2(s_11(N), ._22(X, Xs)) -> LL_2_IN_AG2(N, Xs)
t_1_in_g1(N) -> if_t_1_in_1_g2(N, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ga4(N, X, Xs, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(0_0, []_0) -> ll_2_out_ga2(0_0, []_0)
if_ll_2_in_1_ga4(N, X, Xs, ll_2_out_ga2(N, Xs)) -> ll_2_out_ga2(s_11(N), ._22(X, Xs))
if_t_1_in_1_g2(N, ll_2_out_ga2(N, Xs)) -> if_t_1_in_2_g3(N, Xs, select_3_in_aga3(underscore, Xs, Xs1))
select_3_in_aga3(X, ._22(Y, Xs), ._22(Y, Ys)) -> if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_in_aga3(X, Xs, Ys))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_out_aga3(X, Xs, Ys)) -> select_3_out_aga3(X, ._22(Y, Xs), ._22(Y, Ys))
if_t_1_in_2_g3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> if_t_1_in_3_g3(N, Xs1, ll_2_in_ag2(M, Xs1))
ll_2_in_ag2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ag4(N, X, Xs, ll_2_in_ag2(N, Xs))
ll_2_in_ag2(0_0, []_0) -> ll_2_out_ag2(0_0, []_0)
if_ll_2_in_1_ag4(N, X, Xs, ll_2_out_ag2(N, Xs)) -> ll_2_out_ag2(s_11(N), ._22(X, Xs))
if_t_1_in_3_g3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> if_t_1_in_4_g3(N, M, t_1_in_g1(M))
t_1_in_g1(0_0) -> t_1_out_g1(0_0)
if_t_1_in_4_g3(N, M, t_1_out_g1(M)) -> t_1_out_g1(N)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
↳ PiDP
LL_2_IN_AG2(s_11(N), ._22(X, Xs)) -> LL_2_IN_AG2(N, Xs)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
↳ PiDP
↳ PiDP
LL_2_IN_AG1(._21(Xs)) -> LL_2_IN_AG1(Xs)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
SELECT_3_IN_AGA3(X, ._22(Y, Xs), ._22(Y, Ys)) -> SELECT_3_IN_AGA3(X, Xs, Ys)
t_1_in_g1(N) -> if_t_1_in_1_g2(N, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ga4(N, X, Xs, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(0_0, []_0) -> ll_2_out_ga2(0_0, []_0)
if_ll_2_in_1_ga4(N, X, Xs, ll_2_out_ga2(N, Xs)) -> ll_2_out_ga2(s_11(N), ._22(X, Xs))
if_t_1_in_1_g2(N, ll_2_out_ga2(N, Xs)) -> if_t_1_in_2_g3(N, Xs, select_3_in_aga3(underscore, Xs, Xs1))
select_3_in_aga3(X, ._22(Y, Xs), ._22(Y, Ys)) -> if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_in_aga3(X, Xs, Ys))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_out_aga3(X, Xs, Ys)) -> select_3_out_aga3(X, ._22(Y, Xs), ._22(Y, Ys))
if_t_1_in_2_g3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> if_t_1_in_3_g3(N, Xs1, ll_2_in_ag2(M, Xs1))
ll_2_in_ag2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ag4(N, X, Xs, ll_2_in_ag2(N, Xs))
ll_2_in_ag2(0_0, []_0) -> ll_2_out_ag2(0_0, []_0)
if_ll_2_in_1_ag4(N, X, Xs, ll_2_out_ag2(N, Xs)) -> ll_2_out_ag2(s_11(N), ._22(X, Xs))
if_t_1_in_3_g3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> if_t_1_in_4_g3(N, M, t_1_in_g1(M))
t_1_in_g1(0_0) -> t_1_out_g1(0_0)
if_t_1_in_4_g3(N, M, t_1_out_g1(M)) -> t_1_out_g1(N)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
SELECT_3_IN_AGA3(X, ._22(Y, Xs), ._22(Y, Ys)) -> SELECT_3_IN_AGA3(X, Xs, Ys)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
↳ PiDP
SELECT_3_IN_AGA1(._21(Xs)) -> SELECT_3_IN_AGA1(Xs)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
LL_2_IN_GA2(s_11(N), ._22(X, Xs)) -> LL_2_IN_GA2(N, Xs)
t_1_in_g1(N) -> if_t_1_in_1_g2(N, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ga4(N, X, Xs, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(0_0, []_0) -> ll_2_out_ga2(0_0, []_0)
if_ll_2_in_1_ga4(N, X, Xs, ll_2_out_ga2(N, Xs)) -> ll_2_out_ga2(s_11(N), ._22(X, Xs))
if_t_1_in_1_g2(N, ll_2_out_ga2(N, Xs)) -> if_t_1_in_2_g3(N, Xs, select_3_in_aga3(underscore, Xs, Xs1))
select_3_in_aga3(X, ._22(Y, Xs), ._22(Y, Ys)) -> if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_in_aga3(X, Xs, Ys))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_out_aga3(X, Xs, Ys)) -> select_3_out_aga3(X, ._22(Y, Xs), ._22(Y, Ys))
if_t_1_in_2_g3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> if_t_1_in_3_g3(N, Xs1, ll_2_in_ag2(M, Xs1))
ll_2_in_ag2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ag4(N, X, Xs, ll_2_in_ag2(N, Xs))
ll_2_in_ag2(0_0, []_0) -> ll_2_out_ag2(0_0, []_0)
if_ll_2_in_1_ag4(N, X, Xs, ll_2_out_ag2(N, Xs)) -> ll_2_out_ag2(s_11(N), ._22(X, Xs))
if_t_1_in_3_g3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> if_t_1_in_4_g3(N, M, t_1_in_g1(M))
t_1_in_g1(0_0) -> t_1_out_g1(0_0)
if_t_1_in_4_g3(N, M, t_1_out_g1(M)) -> t_1_out_g1(N)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
LL_2_IN_GA2(s_11(N), ._22(X, Xs)) -> LL_2_IN_GA2(N, Xs)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
LL_2_IN_GA1(s_11(N)) -> LL_2_IN_GA1(N)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
IF_T_1_IN_1_G2(N, ll_2_out_ga2(N, Xs)) -> IF_T_1_IN_2_G3(N, Xs, select_3_in_aga3(underscore, Xs, Xs1))
IF_T_1_IN_2_G3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> IF_T_1_IN_3_G3(N, Xs1, ll_2_in_ag2(M, Xs1))
IF_T_1_IN_3_G3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> T_1_IN_G1(M)
T_1_IN_G1(N) -> IF_T_1_IN_1_G2(N, ll_2_in_ga2(N, Xs))
t_1_in_g1(N) -> if_t_1_in_1_g2(N, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ga4(N, X, Xs, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(0_0, []_0) -> ll_2_out_ga2(0_0, []_0)
if_ll_2_in_1_ga4(N, X, Xs, ll_2_out_ga2(N, Xs)) -> ll_2_out_ga2(s_11(N), ._22(X, Xs))
if_t_1_in_1_g2(N, ll_2_out_ga2(N, Xs)) -> if_t_1_in_2_g3(N, Xs, select_3_in_aga3(underscore, Xs, Xs1))
select_3_in_aga3(X, ._22(Y, Xs), ._22(Y, Ys)) -> if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_in_aga3(X, Xs, Ys))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_out_aga3(X, Xs, Ys)) -> select_3_out_aga3(X, ._22(Y, Xs), ._22(Y, Ys))
if_t_1_in_2_g3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> if_t_1_in_3_g3(N, Xs1, ll_2_in_ag2(M, Xs1))
ll_2_in_ag2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ag4(N, X, Xs, ll_2_in_ag2(N, Xs))
ll_2_in_ag2(0_0, []_0) -> ll_2_out_ag2(0_0, []_0)
if_ll_2_in_1_ag4(N, X, Xs, ll_2_out_ag2(N, Xs)) -> ll_2_out_ag2(s_11(N), ._22(X, Xs))
if_t_1_in_3_g3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> if_t_1_in_4_g3(N, M, t_1_in_g1(M))
t_1_in_g1(0_0) -> t_1_out_g1(0_0)
if_t_1_in_4_g3(N, M, t_1_out_g1(M)) -> t_1_out_g1(N)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
IF_T_1_IN_1_G2(N, ll_2_out_ga2(N, Xs)) -> IF_T_1_IN_2_G3(N, Xs, select_3_in_aga3(underscore, Xs, Xs1))
IF_T_1_IN_2_G3(N, Xs, select_3_out_aga3(underscore, Xs, Xs1)) -> IF_T_1_IN_3_G3(N, Xs1, ll_2_in_ag2(M, Xs1))
IF_T_1_IN_3_G3(N, Xs1, ll_2_out_ag2(M, Xs1)) -> T_1_IN_G1(M)
T_1_IN_G1(N) -> IF_T_1_IN_1_G2(N, ll_2_in_ga2(N, Xs))
select_3_in_aga3(X, ._22(Y, Xs), ._22(Y, Ys)) -> if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_in_aga3(X, Xs, Ys))
select_3_in_aga3(X, ._22(X, Xs), Xs) -> select_3_out_aga3(X, ._22(X, Xs), Xs)
ll_2_in_ag2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ag4(N, X, Xs, ll_2_in_ag2(N, Xs))
ll_2_in_ag2(0_0, []_0) -> ll_2_out_ag2(0_0, []_0)
ll_2_in_ga2(s_11(N), ._22(X, Xs)) -> if_ll_2_in_1_ga4(N, X, Xs, ll_2_in_ga2(N, Xs))
ll_2_in_ga2(0_0, []_0) -> ll_2_out_ga2(0_0, []_0)
if_select_3_in_1_aga5(X, Y, Xs, Ys, select_3_out_aga3(X, Xs, Ys)) -> select_3_out_aga3(X, ._22(Y, Xs), ._22(Y, Ys))
if_ll_2_in_1_ag4(N, X, Xs, ll_2_out_ag2(N, Xs)) -> ll_2_out_ag2(s_11(N), ._22(X, Xs))
if_ll_2_in_1_ga4(N, X, Xs, ll_2_out_ga2(N, Xs)) -> ll_2_out_ga2(s_11(N), ._22(X, Xs))
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPPoloProof
IF_T_1_IN_1_G1(ll_2_out_ga1(Xs)) -> IF_T_1_IN_2_G1(select_3_in_aga1(Xs))
IF_T_1_IN_2_G1(select_3_out_aga1(Xs1)) -> IF_T_1_IN_3_G1(ll_2_in_ag1(Xs1))
IF_T_1_IN_3_G1(ll_2_out_ag1(M)) -> T_1_IN_G1(M)
T_1_IN_G1(N) -> IF_T_1_IN_1_G1(ll_2_in_ga1(N))
select_3_in_aga1(._21(Xs)) -> if_select_3_in_1_aga1(select_3_in_aga1(Xs))
select_3_in_aga1(._21(Xs)) -> select_3_out_aga1(Xs)
ll_2_in_ag1(._21(Xs)) -> if_ll_2_in_1_ag1(ll_2_in_ag1(Xs))
ll_2_in_ag1([]_0) -> ll_2_out_ag1(0_0)
ll_2_in_ga1(s_11(N)) -> if_ll_2_in_1_ga1(ll_2_in_ga1(N))
ll_2_in_ga1(0_0) -> ll_2_out_ga1([]_0)
if_select_3_in_1_aga1(select_3_out_aga1(Ys)) -> select_3_out_aga1(._21(Ys))
if_ll_2_in_1_ag1(ll_2_out_ag1(N)) -> ll_2_out_ag1(s_11(N))
if_ll_2_in_1_ga1(ll_2_out_ga1(Xs)) -> ll_2_out_ga1(._21(Xs))
select_3_in_aga1(x0)
ll_2_in_ag1(x0)
ll_2_in_ga1(x0)
if_select_3_in_1_aga1(x0)
if_ll_2_in_1_ag1(x0)
if_ll_2_in_1_ga1(x0)
The remaining Dependency Pairs were at least non-strictly be oriented.
IF_T_1_IN_2_G1(select_3_out_aga1(Xs1)) -> IF_T_1_IN_3_G1(ll_2_in_ag1(Xs1))
With the implicit AFS we had to orient the following set of usable rules non-strictly.
IF_T_1_IN_1_G1(ll_2_out_ga1(Xs)) -> IF_T_1_IN_2_G1(select_3_in_aga1(Xs))
IF_T_1_IN_3_G1(ll_2_out_ag1(M)) -> T_1_IN_G1(M)
T_1_IN_G1(N) -> IF_T_1_IN_1_G1(ll_2_in_ga1(N))
Used ordering: POLO with Polynomial interpretation:
if_ll_2_in_1_ga1(ll_2_out_ga1(Xs)) -> ll_2_out_ga1(._21(Xs))
if_select_3_in_1_aga1(select_3_out_aga1(Ys)) -> select_3_out_aga1(._21(Ys))
ll_2_in_ag1(._21(Xs)) -> if_ll_2_in_1_ag1(ll_2_in_ag1(Xs))
ll_2_in_ga1(s_11(N)) -> if_ll_2_in_1_ga1(ll_2_in_ga1(N))
ll_2_in_ga1(0_0) -> ll_2_out_ga1([]_0)
if_ll_2_in_1_ag1(ll_2_out_ag1(N)) -> ll_2_out_ag1(s_11(N))
select_3_in_aga1(._21(Xs)) -> select_3_out_aga1(Xs)
select_3_in_aga1(._21(Xs)) -> if_select_3_in_1_aga1(select_3_in_aga1(Xs))
ll_2_in_ag1([]_0) -> ll_2_out_ag1(0_0)
POL(0_0) = 0
POL(if_ll_2_in_1_ga1(x1)) = 1 + x1
POL(if_select_3_in_1_aga1(x1)) = 1 + x1
POL([]_0) = 0
POL(IF_T_1_IN_1_G1(x1)) = x1
POL(ll_2_in_ag1(x1)) = x1
POL(if_ll_2_in_1_ag1(x1)) = 1 + x1
POL(ll_2_in_ga1(x1)) = x1
POL(select_3_out_aga1(x1)) = 1 + x1
POL(ll_2_out_ga1(x1)) = x1
POL(IF_T_1_IN_3_G1(x1)) = x1
POL(ll_2_out_ag1(x1)) = x1
POL(T_1_IN_G1(x1)) = x1
POL(IF_T_1_IN_2_G1(x1)) = x1
POL(s_11(x1)) = 1 + x1
POL(select_3_in_aga1(x1)) = x1
POL(._21(x1)) = 1 + x1
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPPoloProof
↳ QDP
↳ DependencyGraphProof
IF_T_1_IN_1_G1(ll_2_out_ga1(Xs)) -> IF_T_1_IN_2_G1(select_3_in_aga1(Xs))
IF_T_1_IN_3_G1(ll_2_out_ag1(M)) -> T_1_IN_G1(M)
T_1_IN_G1(N) -> IF_T_1_IN_1_G1(ll_2_in_ga1(N))
select_3_in_aga1(._21(Xs)) -> if_select_3_in_1_aga1(select_3_in_aga1(Xs))
select_3_in_aga1(._21(Xs)) -> select_3_out_aga1(Xs)
ll_2_in_ag1(._21(Xs)) -> if_ll_2_in_1_ag1(ll_2_in_ag1(Xs))
ll_2_in_ag1([]_0) -> ll_2_out_ag1(0_0)
ll_2_in_ga1(s_11(N)) -> if_ll_2_in_1_ga1(ll_2_in_ga1(N))
ll_2_in_ga1(0_0) -> ll_2_out_ga1([]_0)
if_select_3_in_1_aga1(select_3_out_aga1(Ys)) -> select_3_out_aga1(._21(Ys))
if_ll_2_in_1_ag1(ll_2_out_ag1(N)) -> ll_2_out_ag1(s_11(N))
if_ll_2_in_1_ga1(ll_2_out_ga1(Xs)) -> ll_2_out_ga1(._21(Xs))
select_3_in_aga1(x0)
ll_2_in_ag1(x0)
ll_2_in_ga1(x0)
if_select_3_in_1_aga1(x0)
if_ll_2_in_1_ag1(x0)
if_ll_2_in_1_ga1(x0)